#ifndef THINKGEARDEVICE_H
#define THINKGEARDEVICE_H

#include "../IODeviceWithThreadSupport.h"
#include <string>
#include "3rd/libthinkgear/include/thinkgear.h"

class ThinkGearDevice :
	public IODeviceWithThreadSupport
{
public:
	ThinkGearDevice(IODeviceContext* context);
	virtual ~ThinkGearDevice();

	int Init();

	int DeInit();

	int ReadData();

	void OnOperation(IODeviceOperation operation, unsigned int param);

protected:

	int m_hDllVersion;
	int m_hConnectID;

	std::string m_sComPortName;
	ThinkGearBaudRate m_hBaudRate;

};

#endif
